

function inicializa_xhr() {
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	function cargarCategorias() {
		peticion = inicializa_xhr();
		if (peticion) {
			peticion.onreadystatechange = muestraCategorias;
			peticion.open("POST", "obtenerCategorias", true);
			peticion.setRequestHeader("Content-Type",
					"application/x-www-form-urlencoded");
			peticion.send(null);
		}
	}
	function muestraCategorias() {
		if (peticion.readyState == 4) {
			if (peticion.status == 200) {
				var lista = document.getElementById("categoria");
				var categorias = eval('(' + peticion.responseText + ')');
				lista.options.length = 0;
				var i = 0;
				for ( var codigo in categorias) {
					if (i == 0) {
						lista.options[i] = new Option("todas", "todas");
						i++;
					}
					lista.options[i] = new Option(categorias[codigo], codigo);
					i++;
				}
				cargarColeccion();
			}
		}
	}
	function cargarColeccion() {
		var listaCategorias = document.getElementById("categoria");
		var coleccionSeleccionada = listaCategorias.options[listaCategorias.selectedIndex].value;
		if (coleccionSeleccionada == "todas") {
			var listaColecciones = document.getElementById("coleccion");
			listaColecciones.options.length = 0;
			listaColecciones.options[0] = new Option("todas", "todas");
			cargarDivResultadoBusqueda();
		} else {
			peticion = inicializa_xhr();
			if (peticion) {
				var lista = document.getElementById("categoria");
				var categoria = lista.options[lista.selectedIndex].value;
				peticion.onreadystatechange = muestraColeccion;
				peticion.open("POST", "obtenerColecciones", true);
				peticion.setRequestHeader("Content-Type",
						"application/x-www-form-urlencoded");
				peticion.send("categoria=" + categoria);
			}
		}
	}
	function muestraColeccion() {
		if (peticion.readyState == 4) {
			if (peticion.status == 200) {
				var lista = document.getElementById("coleccion");
				var coleccion = eval('(' + peticion.responseText + ')');
				lista.options.length = 0;
				var i = 0;
				for ( var codigo in coleccion) {
					if (i == 0) {
						lista.options[i] = new Option("todas", "todas");
						i++
					}
					lista.options[i] = new Option(coleccion[codigo], codigo);
					i++;
				}
				if (i == 0) {
					lista.length = 0;
					lista.options[0] = new Option("Coleccion sin productos");
				}
				cargarDivResultadoBusqueda();
			}
		}
	}
	function cargarDivResultadoBusqueda() {
		peticion = inicializa_xhr();
		if (peticion) {

			var precio = document.getElementById("precio").value;

			var lista = document.getElementById("categoria");
			var categoria = lista.options[lista.selectedIndex].value;

			var lista = document.getElementById("coleccion");
			var coleccion = lista.options[lista.selectedIndex].value;

			var precio = document.getElementById("precio").value;

			var lista = document.getElementById("tipoComparacionAlto");
			var tipoComparacionAlto = lista.options[lista.selectedIndex].value;

			var alto = document.getElementById("alto").value;

			var lista = document.getElementById("tipoComparacionAncho");
			var tipoComparacionAncho = lista.options[lista.selectedIndex].value;

			var ancho = document.getElementById("ancho").value;

			var lista = document.getElementById("tipoComparacionProfundidad");
			var tipoComparacionProfundidad = lista.options[lista.selectedIndex].value;

			var profundidad = document.getElementById("profundidad").value;

			var textoBusqueda = document.getElementById("textoBusqueda").value;

			peticion.onreadystatechange = muestraDivResultadoBusqueda;
			peticion.open("POST", "dibujarTablaProductosBuscados", true);
			peticion.setRequestHeader("Content-Type",
					"application/x-www-form-urlencoded");
			peticion.send("categoria=" + categoria + "&coleccion=" + coleccion
					+ "&precio=" + precio + "&tipoComparacionAlto="
					+ tipoComparacionAlto + "&alto=" + alto
					+ "&tipoComparacionAncho=" + tipoComparacionAncho
					+ "&ancho=" + ancho + "&tipoComparacionProfundidad="
					+ tipoComparacionProfundidad + "&profundidad="
					+ profundidad + "&textoBusqueda=" + textoBusqueda);
		}
	}
	function muestraDivResultadoBusqueda() {
		if (peticion.readyState == 4) {
			if (peticion.status == 200) {
				var divResultadoBusqueda = document
						.getElementById("divResultadoBusqueda");
				
				divResultadoBusqueda.innerHTML = peticion.responseText;
			}
		}
	}
	function controlTipoAlto(valor) {
		var alto = document.getElementById("alto");
		if (valor == 0) {
			document.getElementById("alto").value = "";
			document.getElementById("alto").disabled = true;
		} else {
			document.getElementById("alto").disabled = false;
		}
		cargarDivResultadoBusqueda();
	}

	function controlTipoAncho(valor) {

		var alto = document.getElementById("ancho");
		if (valor == 0) {
			document.getElementById("ancho").value = "";
			document.getElementById("ancho").disabled = true;
		} else {
			document.getElementById("ancho").disabled = false;
		}
		cargarDivResultadoBusqueda();
	}

	function controlTipoProfundidad(valor) {
		var alto = document.getElementById("profundidad");
		if (valor == 0) {
			document.getElementById("profundidad").value = "";
			document.getElementById("profundidad").disabled = true;
		} else {
			document.getElementById("profundidad").disabled = false;
		}
		cargarDivResultadoBusqueda();
	}
	window.onload = cargarCategorias;
